package activiti;

import org.activiti.engine.*;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.task.Task;

/**
 * @Author: 蔡翔
 * @Date: 2019/9/2 10:42
 * @Version 1.0
 *
 * 查询当前用户的任务列表,然后执行
 *
 *  背后操作的表
 *      act_hi_actinst
 *      act_hi_taskinst
 *      act_ru_execution
 *      act_ru_identitylink
 *      act_ru_task
 */
public class ActivitiCompleteTask {
    public static void main(String[] args) {
        // 1.创建ProcessEngine对象: 用defaultProcessEngine 要满足两个条件。
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        // 2.得到TaksService对象
        TaskService taskService = processEngine.getTaskService();
        // 3.查询当前用户的任务
        Task task = taskService.createTaskQuery()
                .processDefinitionKey("holiday")   //依据holiday.bpmn 中（背景中）定义的名字
                .taskAssignee("wangwu")
                .singleResult();
        // 4.处理任务，结合当前用户任务列表的查询操作的话，任务ID：7505（应该和查询是写在一起的。）
        //完成任务
        taskService.complete(task.getId());
        System.err.println(task.getId());
    }
}